<html lang="en" xmlns:th="http://www.thymeleaf.org">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="initial-scale=1.0, maximum-scale=1, user-scalable=no">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <script src="/js/jquery.js"></script>
    <link rel="stylesheet" href="/css/element-ui@2.13.2.index.css">
    <script src="/js/vue.min.js"></script>
    <script src="/js/vue-resource.min.js"></script>
    <script src="https://unpkg.com/element-ui@2.13.2/lib/index.js"></script>
    <script src="/js/common.js"></script>
    <script src="/js/axios.min.js"></script>
    <!-- 字体图标css的引入 -->
    <link rel="stylesheet" href="/css/font_830376_qzecyukz0s.css">
    <link rel="stylesheet" href="/css/color-dark.css">
    <link rel="stylesheet" href="/css/icon.css">
    <link rel="stylesheet" href="/css/reset.css">
    <link rel="stylesheet" href="/css/base.css">
    <title></title>
</head>

<body>
    <div id="manage">
        <!-- 头部 -->
        <div class="wrapper">
            <!-- 头部 -->
            <div class="header">
                <!-- 折叠按钮 -->
                <div class="header-left">
                    人脸库管理
                </div>

                <!-- <div class="logo">后台管理系统</div> -->
                <div class="header-right">
                    <div class="header-user-con">
                        <!-- 全屏显示 -->
                        <div class="btn-fullscreen" @click="handleFullScreen">
                            <el-tooltip effect="dark" :content="fullscreen?`取消全屏`:`全屏`" placement="bottom">
                                <i class="el-icon-rank"></i>
                            </el-tooltip>
                        </div>
                        <div class="user-avator">
                            <img src="/image/img.jpg" />
                        </div>
                        <!-- 用户名下拉菜单 -->
                        <el-dropdown class="user-name" trigger="click" @command="handleCommand">
                            <span class="el-dropdown-link">
                                {{username}}
                                <i class="el-icon-caret-bottom"></i>
                            </span>
                            <el-dropdown-menu slot="dropdown">
                                <a href="https://github.com/lin-xin/vue-manage-system" target="_blank">
                                    <el-dropdown-item>项目仓库</el-dropdown-item>
                                </a>
                                <el-dropdown-item divided command="loginout">退出登录</el-dropdown-item>
                            </el-dropdown-menu>
                        </el-dropdown>
                    </div>
                </div>
            </div>

            <!-- 侧边部分 -->
            <div data-v-68d67528="" class="sidebar">
                <ul data-v-68d67528="" role="menubar" class="sidebar-el-menu el-menu side-ul"
                    style="background-color: rgb(50, 65, 87);">
                    <li data-v-68d67528="" role="menuitem" tabindex="-1" class="el-menu-item"
                        style="padding-left: 20px; color: rgb(191, 203, 217); background-color: rgb(50, 65, 87);"><i
                            data-v-68d67528="" class="el-icon-lx-home"></i><span data-v-68d67528="">首页</span></li>
                    <li data-v-68d67528="" role="menuitem" tabindex="-1" class="el-menu-item  is-active"
                        style="padding-left: 20px; color: rgb(2, 160, 255); background-color: rgb(50, 65, 87);"><i
                            data-v-68d67528="" class="el-icon-lx-calendar"></i><span data-v-68d67528="">人脸库管理</span>
                    </li>
<!--                    <li data-v-68d67528="" role="menuitem" tabindex="-1" class="el-menu-item"-->
<!--                        style="padding-left: 20px; color: rgb(32, 160, 255); background-color: rgb(50, 65, 87);"><i-->
<!--                            data-v-68d67528="" class="el-icon-lx-copy"></i><span data-v-68d67528="">人员管理</span></li>-->
                    <li data-v-68d67528="" role="menuitem" tabindex="-1" class="el-menu-item"
                        style="padding-left: 20px; color: rgb(191, 203, 217); background-color: rgb(50, 65, 87);"><i
                            data-v-68d67528="" class="el-icon-lx-global"></i><span data-v-68d67528="">特征查询</span></li>
                </ul>
            </div>

            <!-- 内容部分 -->
            <div class="content-box">
                <div class="content">
                    <div>
                        <div class="crumbs">
                            <el-breadcrumb separator="/">
                                <el-breadcrumb-item>
                                    <i class="el-icon-lx-calendar"></i> 人脸库管理
                                </el-breadcrumb-item>
                                <el-breadcrumb-item>{{title}}</el-breadcrumb-item>
                            </el-breadcrumb>
                        </div>
                        <div class="container">
                            <div class="handle-box">
                                <el-page-header @back="back" style="display: inline-block; margin-right: 10px"></el-page-header>
                                <el-button type="primary" size="small" icon="el-icon-add" class="handle-del mr20"
                                    @click="handAdd" style="margin-right:20px">新增</el-button>
                                <el-input v-model="search.searchData" placeholder="输入人员ID"
                                    class="handle-input mr10 el-input--small"></el-input>
                                <el-button type="primary" size="small" icon="el-icon-search" @click="handleSearch">搜索
                                </el-button>
                            </div>
                            <el-table :data="tableData" border class="table" ref="multipleTable"
                                header-cell-class-name="table-header" @selection-change="handleSelectionChange">
                                <!-- <el-table-column width="55" align="center"></el-table-column> -->
                                <el-table-column prop="id" label="人员ID"></el-table-column>
                                <el-table-column prop="ctime" label="创建时间">
                                    <template slot-scope="scope">
                                        {{timeStampToString(scope.row.ctime)}}
                                    </template>
                                </el-table-column>
                                <el-table-column prop="mtime" label="修改时间">
                                    <template slot-scope="scope">
                                        {{timeStampToString(scope.row.mtime)}}
                                    </template>
                                </el-table-column>
                                <el-table-column prop="atime" label="活跃时间">
                                    <template slot-scope="scope">
                                        {{timeStampToString(scope.row.atime)}}
                                    </template>
                                </el-table-column>
                                <el-table-column label="底库图片" align="center">
                                    <template slot-scope="scope">
                                        <el-image
                                            class="table-td-thumb"
                                            :src="scope.row.features[0].url"
                                            :preview-src-list="scope.row.features[0].url"
                                        ></el-image>
                                    </template>
                                </el-table-column>
                                <el-table-column label="操作" width="180" align="center">
                                    <template slot-scope="scope">
                                        <el-button type="text"  size="small" icon="el-icon-info"
                                            @click="handleDetail(scope.row)">查看详情</el-button>
                                        <el-button type="text"  size="small" icon="el-icon-edit"
                                            @click="handleEdit(scope.row)">编辑</el-button>
                                        <el-button type="text"  size="small" icon="el-icon-delete" class="red"
                                            @click="handleDelete(scope.$index, scope.row)">删除</el-button>
                                    </template>
                                </el-table-column>
                            </el-table>
                            <div class="pagination">
                                <el-pagination background layout="total, prev, pager, next"
                                    :current-page="query.pageIndex" :page-size="query.pageSize" :total="pageTotal"
                                    @current-change="handlePageChange"></el-pagination>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </div>

    <script th:inline="javascript">
        var manage = new Vue({
            el: '#manage',
            data: {
                title: '人员管理',
                fullscreen: false,
                imageUrl: '/image/default.jpg',
                query: {
                    address: '',
                    name: '',
                    pageIndex: 1,
                    pageSize: 10
                },
                tableData: [
                ],
                multipleSelection: [],
                delList: [],
                editVisible: false,
                pageTotal: 0,
                form: {},
                idx: -1,
                id: -1,
                // 查询条件
                search: {
                    searchData: null,
                    set_name: [[${setName}]],
                    model_version: [[${modelVersion}]],
                },
                getAll: true
            },
            watch: {

            },
            computed: {
                username() {
                    let username = localStorage.getItem('ms_username');
                    return username ? username : this.name;
                }
            },
            mounted() {

            },
            created() {
                this.getData();
            },
            methods: {

                back() {
                    window.history.back(-1);
                },

                // 获取表格数据
                getData() {

                    if (this.getAll == true) {
                        this.getAllUser();
                    }else {
                        this.getSingleUser();
                    }
                },

                // 获取所有人员
                getAllUser() {
                    if ([[${message}]] == 'OK') {
                        // 请求数据
                        // 调用自定义axios
                        axiosPostRequest('/api/user/list/' + this.query.pageIndex, this.search)
                            .then(result => {
                                if (result.status == 200) {
                                    var num = parseInt(result.message);
                                    if (num != 0) {
                                        this.tableData = result.data;
                                    }
                                    this.pageTotal = num;
                                }else {
                                    this.$message.error(result.message);
                                }
                            });
                    } else {
                        this.$message.error([[${message}]]);
                    }
                },

                // 获取单个人员
                getSingleUser() {
                    // 获取详情数据
                    const request = {
                        id: this.search.searchData,
                        set_name: [[${setName}]],
                        model_version: [[${modelVersion}]]
                    };
                    axiosPostRequest('/api/user/info', request)
                        .then(result => {
                            if (result.status == 200) {
                                if (result.data != null) {
                                    const items = [];
                                    items.push(result.data);
                                    this.tableData = items;
                                }
                                this.pageTotal = this.tableData.length || 50;
                            } else {
                                this.$message.error(result.message);
                            }
                        })
                },

                // 时间戳转化为日期
                timeStampToString(dataTime) {
                    var date = new Date(dataTime);
                    y = date.getFullYear() + '-'; // 获取完整的年份(4位,1970)
                    m = (date.getMonth()+1 < 10 ? '0' + (date.getMonth()+1) + '-' : date.getMonth()+1 + '-'); // 获取月份(0-11,0代表1月,用的时候记得加上1)
                    d = date.getDate(); // 获取日(1-31)
                    var formatDate= y + m + d
                    return formatDate;
                },

                // 查看详情
                handleDetail(row) {
                    var url = 'personDetail?id=' + row.id
                                + '&setName=' + [[${setName}]];
                    if([[${modelVersion}]].length === 0) {
                        url = url + '&modelVersion=null';
                    } else {
                        url = url + '&modelVersion=' + [[${modelVersion}]];
                    }
                    window.location.href = url;
                },

                // 触发搜索按钮
                handleSearch() {
                    // 根据人员ID进行查询
                    this.getAll = false;
                    this.getData();
                },
                // 删除操作
                handleDelete(index, row) {
                    // 二次确认删除
                    this.$confirm('确定要删除吗？', '提示', {
                        type: 'warning'
                    }).then(() => {
                            var data = {
                                id : row.id,
                                set_name: [[${setName}]],
                                model_version: [[${modelVersion}]]
                            };
                            axiosPostRequest('/api/user/delete', data)
                                .then(result => {
                                    if (result.status == 200) {
                                        this.$message.success('删除成功');
                                        this.tableData.splice(index, 1);
                                        this.pageTotal = (this.pageTotal - 1) || 10;
                                    } else {
                                        this.$message.error(result.message);
                                    }
                                });
                        })
                        .catch(() => { });
                },
                // 多选操作
                handleSelectionChange(val) {
                    this.multipleSelection = val;
                },
                delAllSelection() {
                    const length = this.multipleSelection.length;
                    let str = '';
                    this.delList = this.delList.concat(this.multipleSelection);
                    for (let i = 0; i < length; i++) {
                        str += this.multipleSelection[i].name + ' ';
                    }
                    this.$message.error(`删除了${str}`);
                    this.multipleSelection = [];
                },
                // 编辑操作
                handleEdit(row) {
                    window.location.href='personEdit?id=' + row.id
                        + '&setName=' + [[${setName}]]
                        + '&modelVersion=' + [[${modelVersion}]];
                },
                // 新增操作
                handAdd() {
                    window.location.href = 'personAdd?setName=' + [[${setName}]] + '&modelVersion=' + [[${modelVersion}]];
                },

                // 分页导航
                handlePageChange(val) {
                    this.$set(this.query, 'pageIndex', val);
                    this.getData();
                },
                // 用户名下拉菜单选择事件
                handleCommand(command) {
                    if (command == 'loginout') {
                        localStorage.removeItem('ms_username');
                        window.localStorage["token"] = '';
                        window.location.href = 'login';
                    }
                },
                // 全屏事件
                handleFullScreen() {
                    let element = document.documentElement;
                    if (this.fullscreen) {
                        if (document.exitFullscreen) {
                            document.exitFullscreen();
                        } else if (document.webkitCancelFullScreen) {
                            document.webkitCancelFullScreen();
                        } else if (document.mozCancelFullScreen) {
                            document.mozCancelFullScreen();
                        } else if (document.msExitFullscreen) {
                            document.msExitFullscreen();
                        }
                    } else {
                        if (element.requestFullscreen) {
                            element.requestFullscreen();
                        } else if (element.webkitRequestFullScreen) {
                            element.webkitRequestFullScreen();
                        } else if (element.mozRequestFullScreen) {
                            element.mozRequestFullScreen();
                        } else if (element.msRequestFullscreen) {
                            // IE11
                            element.msRequestFullscreen();
                        }
                    }
                    this.fullscreen = !this.fullscreen;
                },
            }
        })

    </script>

</body>

</html>